Qu'est-ce que useeffect without dependency array ?

Lorsque nous utilisons le Hook useEffect dans un composant React, il y a une option pour omettre un tableau de dépendances. Cela signifie que useEffect ne surveillera aucun changement dans les variables ou les propriétés du composant et sera exécuté à chaque rendu.

Lorsqu'un tableau de dépendances est omis, cela indique à useEffect de s'exécuter après chaque rendu du composant, ce qui peut entraîner des effets secondaires indésirables. Par exemple, des appels réseau répétés peuvent surcharger le serveur et ralentir les performances de l'application.

Par conséquent, utiliser useEffect sans dépendance peut être considéré comme une pratique non recommandée, sauf dans certains cas particuliers.

Certaines situations où l'utilisation de useEffect sans dépendance est justifiée sont les suivantes :

  1. Utilisation d'effets qui ne dépendent pas des variables ou des propriétés du composant : Si l'effet que vous essayez de réaliser ne dépend d'aucune variable ou propriété du composant, il est sûr d'utiliser useEffect sans dépendance.

Exemple :

useEffect(() => {
  console.log('Cet effet est exécuté après chaque rendu');
});
  1. Utilisation d'effets de nettoyage : Dans certains cas, vous pouvez vouloir exécuter un effet de nettoyage à chaque rendu du composant, même s'il n'y a pas de dépendances. Par exemple, vous pouvez vouloir supprimer un événement d'écouteur ou annuler un abonnement lorsque le composant est démonté.

Exemple :

useEffect(() => {
  const listener = () => {
    // Faire quelque chose
  };

  document.addEventListener('click', listener);

  return () => {
    document.removeEventListener('click', listener);
  };
});

En général, il est préférable d'utiliser un tableau de dépendances dans useEffect pour contrôler quand l'effet doit être exécuté. Cela permet d'éviter les effets secondaires inutiles et d'améliorer les performances de l'application.